Generalized sequential minimal optimization for svm+ computations

ABSTRACT

A system and method for support vector machine plus (SVM+) computations include selecting a set of indexes for a target function to create a quadratic function depending on a number of variables, and reducing the number of variables to two in the quadratic function using linear constraints. An extreme point is computed for the quadratic function in closed form. A two-dimensional set is defined where the indexes determine whether a data point is in the two-dimensional set or not. A determination is made of whether the extreme point belongs to the two-dimensional set. If the extreme point belongs to the two-dimensional set, the extreme point defines a maximum and defines a new set of parameters for a next iteration. Otherwise, the quadratic function is restricted on at least one boundary of the two-dimensional set to create a one-dimensional quadratic function. The steps are repeated until the maximum is determined.

RELATED APPLICATION INFORMATION

This application claims priority to provisional application Ser. No. 60/908,264 filed on Mar. 27, 2007, incorporated herein by reference.

BACKGROUND

1. Technical Field

The present invention relates to support vector machines for machine learning and more particularly to a generalized Sequential Minimum Optimization (SMO) system and method for solving the support vector machine optimization problem.

2. Description of the Related Art

Support vector machines (SVMs) are a set of related supervised learning methods used for classification and regression. SVMs belong to a family of generalized linear classifiers. A special property of SVMs is that they simultaneously minimize empirical classification error and maximize geometric margin; hence they are also known as maximum margin classifiers.

Support vector machines map input vectors to a higher dimensional space where a maximal separating hyperplane is constructed. Two parallel hyperplanes are constructed on each side of the hyperplane that separates the data. The separating hyperplane is the hyperplane that maximizes the distance between the two parallel hyperplanes. An assumption is made that the larger the margin or distance between these parallel hyperplanes the better the generalization error of the classifier will be.

Data is classified as a part of a machine-learning process. Each data point is represented by a p-dimensional vector (a list of p numbers). Each of these data points belongs to only one of two classes. We are interested in whether we can separate them with a “p minus 1” dimensional hyperplane. This is a typical form of a linear classifier. There are many linear classifiers that might satisfy this property. However, we are additionally interested in finding out if we can achieve maximum separation (margin) between the two classes. By this we mean that we pick the hyperplane so that the distance from the hyperplane to the nearest data point is maximized. That is to say that the nearest distance between a point in one separated hyperplane and a point in the other separated hyperplane is maximized. Now, if such a hyperplane exists, it is clearly of interest and is known as the maximum-margin hyperplane and such a linear classifier is known as a maximum margin classifier.

Recently, a generalization of a support vector machine (SVM) technique, called support vector machine plus (SVM+), was proposed by V. Vapnik, in Estimation of Dependences Based on Empirical Data Empirical Inference Science, Springer, 2006. The SVM+ approach is designed to take advantage of structure in training data (for example, noise present in data, or invariants in the data). By leveraging this structure, the SVM+ technique can have a better generalization by lowering the overall system's VC-dimension.

While multiple methods for training SVM have been proposed (the leading one being Sequential Minimum Optimization (SMO)), there are no available methods for training SVM+.

SVM and Its Computation Using SMO: In 1995, the SVM method for constructing an optimal hyperplane for non-separable data was introduced (see C. Cortes, V. Vapnik, “Support vector networks,” Machine Learning, vol. 20, pp. 273-297, 1995. The method deals with the following problem.

Given training data: ({right arrow over (x)}₁,y₁), . . . , ({right arrow over (x)}_(l),y_(l)) yε{−1,1}, {right arrow over (x)}ε

find the parameters {right arrow over (ω)} and b of the hyperplane ({right arrow over (ω)}, {right arrow over (x)})+b=0 that separate the data {({right arrow over (x)}₁,y₁), . . . , ({right arrow over (x)}_(l),y_(l))} (perhaps, with some errors) and minimize the functional:

${R = {\left( {\overset{\rightarrow}{w},\overset{\rightarrow}{w}} \right) + {C{\sum\limits_{i = 1}^{}\xi_{i}}}}},{i = 1},\ldots \mspace{11mu},$

under the constraints: y_(i)[({right arrow over (ω)}, {right arrow over (x)}_(i))+b]≧1−ξ_(i), ξ_(i)≧0, i=1, . . . , l.

Here slack variables ξ_(i) characterize the values of training errors, while C′ is the penalty of these errors in the functional. Using standard techniques, this problem can be converted to the dual form, which would then require minimizing the functional;

$W = {{\sum\limits_{i = 1}^{}\alpha_{i}} - {\frac{1}{2}{\sum\limits_{i,{j = 1}}^{}{y_{i}y_{j}\alpha_{i}{\alpha_{j}\left( {{\overset{\rightharpoonup}{x}}_{i},{\overset{\rightharpoonup}{x}}_{j}} \right)}}}}}$

-   -   over parameters α_(i) (Lagrange multipliers), subject to the         constraints:

${{\sum\limits_{i = 1}^{}{y_{i}\alpha_{i}}} = 0},{0 \leq \alpha_{i} \leq {C.}}$

The desired separating hyperplane has the form

${{\sum\limits_{i = 1}^{}{y_{i}{\alpha_{i}\left( {{\overset{\rightharpoonup}{x}}_{i},\overset{\rightharpoonup}{x}} \right)}}} + b} = 0$

where parameters α₁, . . . , α_(l) and b are the solution of the above optimization problem.

Generally, one cannot expect that the data {({right arrow over (x)}₁,y₁), . . . , ({right arrow over (x)}_(l),y_(l))} can be separated by a linear function (hyperplane). Thus, B. Baser, I. Guyon, V. Vapnik, “A Training Algorithm for Optimal Margin Classifiers,” in Proceedings of the Fifth Annual Workshop on Computational Learning Theory, Vol. 5, pp. 144-152, 1992, it was shown how the so-called “kernel trick” can be used for constructing wide classes of nonlinear separating functions. To employ the kernel trick, one maps input vectors {right arrow over (x)}εX (original feature space) into vectors {right arrow over (z)}εZ (new feature space, image space), where one constructs the separating hyperplane

${{\sum\limits_{i = 1}^{}{y_{i}{\alpha_{i}\left( {{\overset{\rightharpoonup}{x}}_{i},\overset{\rightharpoonup}{x}} \right)}}} + b} = 0$

with parameters α₁, . . . , α_(l) and b that maximize the functional subject to the constraints

$\quad\left\{ \begin{matrix} {{{\sum\limits_{i = 1}^{}\; {y_{i}\alpha_{i}}} = 0},} \\ {0 \leq \alpha_{i} \leq {C.}} \end{matrix} \right.$

According to the Mercer's theorem (as explained in Boser et al.), for any inner product ({right arrow over (z)}_(i),{right arrow over (z)}_(j)) in the image space Z there exists a positive definite function K({right arrow over (x)}_(i),{right arrow over (x)}_(j)) in space X such that ({right arrow over (z)}_(i),{right arrow over (z)}_(j))=K({right arrow over (x)}_(i),{right arrow over (x)}_(j)), i, j=1, . . . , l.

Conversely, for any positive definite function K({right arrow over (x)}_(i),{right arrow over (x)}_(j)) in the space X, there exists such a space Z that K({right arrow over (x)}_(i),{right arrow over (x)}_(j)) forms an inner product ({right arrow over (z)}_(i),{right arrow over (z)}_(j)) in space Z. Therefore, to construct a nonlinear separating function

${{\sum\limits_{i = 1}^{}\; {y_{i}\alpha_{i}{K\left( {{\overset{\rightarrow}{x}}_{i},\overset{\rightarrow}{x}} \right)}}} + b} = 0$

in the image space Z, one has to maximize the functional:

$W = {{\sum\limits_{i = 1}^{}\; \alpha_{i}} - {\frac{1}{2}{\sum\limits_{i,{j = 1}}^{}\; {y_{i}y_{j}\alpha_{i}\alpha_{j}{K\left( {{\overset{\rightarrow}{x}}_{i},{\overset{\rightarrow}{x}}_{j}} \right)}}}}}$

subject to the constraints:

$\quad\left\{ \begin{matrix} {{{\sum\limits_{i = 1}^{}\; {y_{i}\alpha_{i}}} = 0},} \\ {0 \leq \alpha_{i} \leq {C.}} \end{matrix} \right.$

This problem is a special form of a quadratic optimization problem, where the constraints consist of one equality constraint and l box constraints. As it was demonstrated in the past, the problem can be solved much more efficiently than a general quadratic programming problem (see details in D. Bertsekas, Convex Analysis and Optimization, Athena Scientific, 2003).

J. Platt, in “Fast Training of Support Vector Machines using Sequential Minimal Optimization,” in Advances in Kernel Methods—Support Vector Learning, B. Schölkopf, C. Burges, and A. Smola, eds., pp. 185-208, MIT Press, 1999, proposed one of the most efficient algorithms for solving this problem, the so-called sequential minimal optimization (SMO) algorithm. The idea was to solve the optimization problem by sequentially, in each step selecting a pair of Lagrange multipliers α_(i), α_(j) and maximizing the functional over them while keeping the rest of Lagrange multipliers fixed. The resulting two-dimensional oracle (providing just +1 or −1 for classification y_(i)), we can exploit the teacher's input (providing hidden knowledge on classification errors ξ_(i)).

Note that extra hidden information is only used during training, not in actual testing. In SVM+, we map any input vector {right arrow over (x)} into two different spaces: space {right arrow over (z)}εZ as in SVM method (called the space of decision functions ξ_(i)) and in another space {right arrow over (z)}⁺εZ⁺ (called the space of correcting functions) defining our admissible set of functions as follows: ψ({right arrow over (x)},δ)=({right arrow over (ω)}, {right arrow over (z)})+d, where {right arrow over (ω)}⁺εZ⁺ and dε

Therefore, given the training data and two spaces Z and Z⁺, we define triplets (y₁,{right arrow over (z)}₁,{right arrow over (z)}₁ ⁺), . . . , (y_(l),{right arrow over (z)}_(l),{right arrow over (z)}_(l) ⁺).

Our goal is to construct the separating hyperplane ({right arrow over (ω)},{right arrow over (z)})+b=0, in the decision space Z subject to the constraints

$\quad\left\{ \begin{matrix} {{y_{i}\left\lbrack {\left( {\overset{\rightarrow}{w},{\overset{\rightarrow}{z}}_{i}} \right) + b} \right\rbrack} \geq {1 - \left( {\left( {{\overset{\rightarrow}{w}}^{+},{\overset{\rightarrow}{z}}_{i}^{+}} \right) + d} \right)}} \\ {{\left( {{\overset{\rightarrow}{w}}^{+},{\overset{\rightarrow}{z}}_{i}^{+}} \right) + d} \geq 0} \end{matrix} \right.$

that minimizes the functional

$R = {{C{\sum\limits_{i = 1}^{}\; \left( {\left( {{\overset{\rightarrow}{w}}^{+},{\overset{\;}{\overset{\rightarrow}{z}}}_{i}^{+}} \right) + d} \right)}} + \left( {\overset{\rightarrow}{w},\overset{\rightarrow}{w}} \right) + {{\gamma \left( {{\overset{\rightarrow}{w}}^{+},{\overset{\rightarrow}{w}}^{+}} \right)}.}}$

The dual form solution to this problem is to maximize the functional

$W = {{\sum\limits_{i = 1}^{}\; \alpha_{i}} - {\frac{1}{2}{\sum\limits_{i,{j = 1}}^{}\; {y_{i}y_{j}\alpha_{i}{\alpha_{j}\left( {{\overset{\rightarrow}{z}}_{i},{\overset{\rightarrow}{z}}_{j}} \right)}}}} - {\frac{1}{2\gamma}{\sum\limits_{i,{j = 1}}^{}\; {\left( {\alpha_{i} + \beta_{i} - C} \right)\left( {\alpha_{j} + \beta_{j} - C} \right)\left( {{\overset{\rightarrow}{z}}_{i}^{+},{\overset{\rightarrow}{z}}_{j}^{+}} \right)}}}}$

subject to the constraints:

$\quad\left\{ \begin{matrix} {{\alpha_{i} \geq 0},\mspace{14mu} {i = 1},\ldots \mspace{11mu},} \\ {{\beta_{i} \geq 0},\mspace{14mu} {i = 1},\ldots \mspace{11mu},} \\ {{\sum\limits_{i = 1}^{}\; {y_{i}\alpha_{i}}} = 0} \\ {{\sum\limits_{i = 1}^{}\; \left( {\alpha_{i} + \beta_{i} - C} \right)} = 0} \end{matrix} \right.$

The solution (over parameters α, β, b, d) defines the separating function (in the decision space Z)

${{{\sum\limits_{i = 1}^{}\; {y_{i}{\alpha_{i}\left( {{\overset{\rightarrow}{z}}_{i},\overset{\rightarrow}{z}} \right)}}} + b} = 0};$

the correcting function has the form:

${\psi (z)} = {{\frac{1}{\gamma}{\sum\limits_{i = 1}^{}\; {\left( {\alpha_{i} + \beta_{i} - C} \right)\left( {{\overset{\rightarrow}{z}}_{i}^{+},{\overset{\rightarrow}{z}}^{+}} \right)}}} + {d.}}$

Using the same kernel trick for two different spaces Z and Z⁺ and denoting by K({right arrow over (x)}_(i),{right arrow over (x)}_(j)) and K⁺({right arrow over (x)}_(i),{right arrow over (x)}_(j)) the corresponding kernels for these spaces (we can call them decision space kernel and correction space kernel), we can formulate the SVM+ problem as follows. Maximize the functional;

$W = {{\sum\limits_{i = 1}^{}\; \alpha_{i}} - {\frac{1}{2}{\sum\limits_{i,{j = 1}}^{}\; {y_{i}y_{j}\alpha_{i}\alpha_{j}{K\left( {{\overset{\rightarrow}{x}}_{i},{\overset{\rightarrow}{x}}_{j}} \right)}}}} - {\frac{1}{2\gamma}{\sum\limits_{i,{j = 1}}^{}\; {\left( {\alpha_{i} + \beta_{i} - C} \right)\left( {\alpha_{j} + \beta_{j} - C} \right){K^{+}\left( {{\overset{\rightarrow}{x}}_{i}^{+},{\overset{\rightarrow}{x}}_{j}^{+}} \right)}}}}}$

subject to the constraints:

$\quad\left\{ \begin{matrix} {{\alpha_{i} \geq 0},\mspace{14mu} {i = 1},\ldots \mspace{11mu},} \\ {{\beta_{i} \geq 0},\mspace{14mu} {i = 1},\ldots \mspace{11mu},} \\ {{\sum\limits_{i = 1}^{}\; {y_{i}\alpha_{i}}} = 0} \\ {{\sum\limits_{i = 1}^{}\; \left( {\alpha_{i} + \beta_{i} - C} \right)} = 0} \end{matrix} \right.$

The decision function for SVM+ has the form

${{{\sum\limits_{i = 1}^{}\; {y_{i}\alpha_{i}{K\left( {{\overset{\rightarrow}{x}}_{i},\overset{\rightarrow}{x}} \right)}}} + b} = 0};$

the correcting function has a form

${\psi (z)} = {{\frac{1}{\gamma}{\sum\limits_{i = 1}^{}\; {\left( {\alpha_{i} + \beta_{i} - C} \right){K^{+}\left( {{\overset{\rightarrow}{x}}_{i}^{+},{\overset{\rightarrow}{x}}^{+}} \right)}}}} + {d.}}$

In V. Vapnik, Estimation of Dependences Based on Empirical Data: Empirical Inference Science, Springer, 2006, a new setting of the learning problem was introduced (we call it learning hidden information), where for the training stage one is given triplets: (y₁,{right arrow over (x)}₁,{right arrow over (x)}₁ ⁺), . . . , (y_(l),x_(l),{right arrow over (x)}_(l) ⁺), yε{−1,1}, {right arrow over (x)}ε

{right arrow over (x)}⁺ε

It is required to construct a decision rule y=f({right arrow over (x)}) that partitions the data {{right arrow over (x)}₁, . . . , {right arrow over (x)}_(l)} into two categories. Vector {right arrow over (x)}⁺ can be considered as a hint: it is available only for the training stage, and it will be hidden for the test stage. The problem of learning using hidden information can be solved using the SVM+ optimization problem has a closed-form solution, which can be found extremely fast. By choosing appropriate pairs of Lagrange multipliers for each step for sequentially maximizing the functional, the SMO algorithm finds the desired solution quickly. This SMO algorithm made the SVM method extremely efficient for problems involving large amount of data in high-dimensional spaces.

SVM+ as an Extension of SVM: In the book, V. Vapnik, Estimation of Dependences Based on Empirical Data: Empirical Inference Science, Springer, 2006, and technical report, V. Vapnik, M. Miller, “SVM+: A new learning machine that considers the global structure of the data,” NECLA TR 2005-L141, 2005, a generalization of the SVM method of constructing separating functions, the so-called SVM+ method, was introduced. The idea of the generalization is the following. Consider the slack variables ξ_(i) in the form ξ_(i)=ψ({right arrow over (x)}_(i),δ), δεD, where ψ({right arrow over (x)}_(i),δ) belongs to some admissible set of functions (we call them correcting functions). In classical SVM slacks, ξ_(i) can take arbitrary values. By introducing slacks that are a realization of one of the admissible functions, we try to reduce the overall VC dimension; improve the generalization quality of the decision rule; introduce a richer training environment: instead of an method where the vector {right arrow over (x)} is mapped into space Z and the vector {right arrow over (x)}⁺ is mapped into the space Z⁺. In order to construct a decision rule, SVM+ takes into account hidden information.

SUMMARY

A system and method for support vector machine plus (SVM+) computations include selecting a set of indexes for a target function to create a quadratic function depending on a number of variables, and reducing the number of variables to two in the quadratic function using linear constraints. An extreme point is computed for the quadratic function in closed form. A two-dimensional set is defined where the indexes determine whether a data point is in the two-dimensional set or not. A determination is made of whether the extreme point belongs to the two-dimensional set. If the extreme point belongs to the two-dimensional set, the extreme point defines a maximum and defines a new set of parameters for a next iteration. Otherwise, the quadratic function is restricted on at least one boundary of the two-dimensional set to create a one-dimensional quadratic function. The steps are repeated until the maximum is determined.

These and other features and advantages will become apparent from the following detailed description of illustrative embodiments thereof, which is to be read in connection with the accompanying drawings.

BRIEF DESCRIPTION OF DRAWINGS

The disclosure will provide details in the following description of preferred embodiments with reference to the following figures wherein:

FIG. 1 is a plot of sample training data with Bayes decision boundaries;

FIG. 2 shows performance plots comparing SVM (left plot) with SVM+ (right plot);

FIG. 3 shows permissible domains for determining a maximum of an extreme point in accordance with a case where s=+1;

FIG. 4 shows permissible domains for determining a maximum of an extreme point in accordance with a case where s=−1;

FIGS. 5-8 show low and high boundaries for α_(j) for cases 1-4, respectively; and

FIG. 9 is a block/flow diagram showing a system/method for a generalized Sequential Minimum Optimization (gSMO) in accordance with the present principles.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

The present principles provide a new generalized minimal sequential optimization (gSMO) method for fast training of SVM+. Although SVM+ has twice as many variables as SVM, the gSMO methods in accordance with the present principles are of the same level of complexity as a classical sequential minimal optimization (SMO) approach, which is the most efficient method developed for SVM thus far. gSMO can be also fine-tuned for specialized kernels in SVM+ while retaining its complexity level.

SVM+ is an extension of the standard SVM technique designed to take advantage of structures in the training data (for example, the noise present in the data, or invariants in the data). By leveraging these structures, the SVM+ technique can provide a basis for better generalization by lowering the overall system's VC-dimension.

In computational learning theory, the VC dimension (for Vapnik-Chervonenkis dimension) is a measure of the capacity of a statistical classification algorithm, defined as the cardinality of the largest set of points that the algorithm can shatter. Informally, the capacity of a classification model is related to how complicated it can be.

SVM+ also has a potential of new settings in pattern recognition: instead of traditional oracle-like teachers (providing simple classification for training data), it expands the role of a real teacher that can provide additional hints and hidden information during the training process, Performance advantages of SVM+ over SVM are provided, which are reflected in both improved classification accuracy and a reduced number of support vectors, on synthetic Gaussian data samples: a marginal error rate of SVM+ (above the Bayesian optimal rate) was shown to be about two times less than that of classical SVM.

A new generalized minimal sequential optimization optimization (gSMO) method of fast training of SVM+ is described. Although SVM+ has twice as many variables as SVM, the proposed gSMO method is of the same level of complexity as the classical sequential minimal optimization (SMO) approach (the most efficient algorithm developed for SVM so far). gSMO can be also fine-tuned for specialized kernels in SVM+ while retaining its complexity level.

Embodiments described herein may be entirely hardware, entirely software or including both hardware and software elements. In a preferred embodiment, the present invention is implemented in software, which includes but is not limited to firmware, resident software, microcode, etc.

Embodiments may include a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system. A computer-usable or computer readable medium may include any apparatus that stores, communicates, propagates, or transports the program for use by or in connection with the instruction execution system, apparatus, or device. The medium can be magnetic, optical, electronic, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium. The medium may include a computer-readable medium such as a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk, etc.

Referring now to the drawings in which like numerals represent the same or similar elements and initially to FIG. 1, sample training data is shown to illustrate concepts in accordance with the present principles.

Performance of SVM+: Simulations. Using standard techniques of quadratic programming, we conducted simulations for the following 2-dimensional problem. The problem has two classes (class I and class II), where each class has a Gaussian distribution. Each class is also further subdivided into two subclasses 10, 20 and 30, 40, respectively, including 80% and 20% of the sample, as shown in FIG. 1. An optimal Bayesian error rate was computed for the problem on a sample of size 100,000. This error rate was found to be 3.9%.

Using this error rate as a baseline, we compared solutions given by SVM (with radial basis kernels in the space) and SVM+ (with two radial basis kernels in the spaces 42 and 44). FIG. 2 shows a Bayesian decision rule as well as performance of classical SVM (46) and SVM+ (48), respectively.

Optimal parameters were selected using a validation set which was different from the training and the test. As results illustrate, SVM+ achieves the error rate 4.3%, while SVM's error rate is 4.8%. Thus, the deviation 0.4% of SVM+from the Bayesian error rate is half of that of SVM (which is 0.9%). Also, SVM+ needs only 18 support vectors versus 59 support vectors for SVM. The difference in performance is due in part to the fact that the parameters can take more values.

Although the computation time on these samples (both of size 100) took less than a minute, generic quadratic programming approaches cannot be used efficiently for larger samples in multi-dimensional cases. We describe herein a generalized SMO method (gSMO) that can solve SVM+ as efficiently as SMO can solve SVM.

Generalized Sequential Minimal Optimization in accordance with the present principles (gSMO) follows, in general the structure of SMO. As SMO, gSMO is a sequential process of maximizing a target function. At each of the steps of this sequential process, a pair (working set) of indexes i and j is selected. The function then becomes a quadratic function depending on four variables: α_(i), α_(j), β_(i) and β_(j). Linear constraints reduce the number of variables to two: α_(j) and β_(j). An extreme point (α_(j) ⁺, β_(j) ⁺) of the restricted 2-dimensional quadratic function W is then computed in a closed form. Also, linear constraints are used to define the 2-dimensional set D (which turns out to be either a rectangle or a triangle, depending on whether indexes i and j correspond to two data points {right arrow over (x)}_(i) and {right arrow over (x)}_(j) belonging to the same classification class or not; in other words, whether y_(i)y_(j) is equal to +1 or −1. If the extreme point (α_(j) ⁺,β_(j) ⁺) belongs to D, it delivers the maximum and defines a new set of parameters (Lagrange multipliers); otherwise, the function W is further restricted on one or two of the corresponding boundaries of D (where it becomes a 1-dimensional quadratic function), where extreme points are again calculated in a closed form and compared to select the one that delivers the largest value for W—it is then selected for the new set of parameters (Lagrange multipliers).

We apply this gSMO reasoning to two cases of correction space kernels K⁺: a general correction space kernel and a diagonal correction space kernel. While the first case follows the outline of gSMO, the second one is amenable to further simplifications stemming from a special structure of the correction space kernel.

Case of a General Correction Space Kernel: Consider the case of a general correction space kernel K⁺. In this case, the optimization problem has the following form. Maximize:

${W\left( {\overset{\rightarrow}{\alpha},\overset{\rightarrow}{\beta}} \right)} = {{\sum\limits_{i = 1}^{}\; \alpha_{i}} - {\frac{1}{2}{\sum\limits_{i = 1}^{}\; {\sum\limits_{j = 1}^{}\; {y_{i}y_{j}{K\left( {{\overset{\rightarrow}{x}}_{i},{\overset{\rightarrow}{x}}_{j}} \right)}\alpha_{i}\alpha_{j}}}}} - {\frac{1}{2\gamma}{\sum\limits_{i = 1}^{}\; {\sum\limits_{j = 1}^{}\; {{K^{+}\left( {{\overset{\rightarrow}{x}}_{i}^{+},{\overset{\rightarrow}{x}}_{j}^{+}} \right)}\left( {\alpha_{i} + \beta_{i} - C} \right)\left( {\alpha_{j} + \beta_{j} - C} \right)}}}}}$

under the constraints:

$\quad\left\{ \begin{matrix} {{y_{} = {\pm 1}},} \\ {{{\sum\limits_{i = 1}^{}{y_{i}\alpha_{i}}} = 0},} \\ {{{0 \leq {\alpha_{i}\mspace{14mu} {for}\mspace{14mu} {all}\mspace{14mu} i}} = 1},\ldots \mspace{11mu},} \\ {{{0 \leq {\beta_{i}\mspace{14mu} {for}\mspace{14mu} {all}\mspace{14mu} i}} = 1},\ldots \mspace{11mu},,} \end{matrix} \right.$

and the additional constraint:

${\sum\limits_{i = 1}^{}\left( {\alpha_{i} + \beta_{i} - C} \right)} = 0.$

For maximizing our objective function we focus on the smallest possible subproblem involving two examples, say, i and j and focus on maximizing W(α_(i),α_(j),β_(i),β_(j)) part of the objective function that depends on the Lagrange multipliers corresponding to selected examples. Then, the function has the form:

W(α_(i),α_(j),β_(i),β_(j))=W⁺(α_(i),α_(j))+W⁺(α_(i),α_(j),β_(i),β_(j)), where

${W^{+}\left( {\alpha_{i},\alpha_{j}} \right)} = {\alpha_{i} + \alpha_{j} - {\frac{1}{2}\left\lbrack {{K_{ii}\alpha_{i}^{2}} + {K_{jj}\alpha_{j}^{2}} + {2{sK}_{ij}\alpha_{i}\alpha_{j}} + {2v_{i}\alpha_{i}} + {2v_{j}\alpha_{j}}} \right\rbrack} + W_{constant}}$

is the same function as in the SMO method, and

${W^{+}\left( {\alpha_{i},\alpha_{j},\beta_{i},\beta_{j}} \right)} = {{- {\frac{1}{2\gamma}\left\lbrack {{K_{ii}^{+}\left( {\alpha_{i} + \beta_{i} - C} \right)}^{2} + {K_{jj}^{+}\left( {\alpha_{j} + \beta_{j} - C} \right)}^{2} + {2{K_{ij}^{+}\left( {\alpha_{i} + \beta_{i} - C} \right)}\left( {\alpha_{j} + \beta_{j} - C} \right)} + {2{v_{i}^{+}\left( {\alpha_{i} + \beta_{i} - C} \right)}} + {2{v_{j}^{+}\left( {\alpha_{i} + \alpha_{j} - C} \right)}}} \right\rbrack}} + W_{constant}^{+}}$

is the additional function corresponding to the SVM+ case.

Here:

s = y_(i)y_(j) = ±1 ${K_{mn} = {K\left( {{\overset{\rightarrow}{x}}_{m},{\overset{\rightarrow}{x}}_{n}} \right)}},{K_{mn}^{+} = {{K^{+}\left( {{\overset{\rightarrow}{x}}_{m},{\overset{\rightarrow}{x}}_{n}} \right)}\mspace{14mu} {for}\mspace{14mu} {all}\mspace{14mu} m}},n$ ${v_{i} = {y_{i}{\sum\limits_{\underset{{m \neq i},j}{m - 1}}^{}{y_{m}K_{im}\alpha_{m}}}}},{v_{j} = {y_{j}{\sum\limits_{\underset{{m \neq i},j}{m - 1}}^{}{y_{m}K_{jm}\alpha_{m}}}}},{v_{i}^{+} = {\sum\limits_{\underset{{m \neq i},j}{m - 1}}^{}{K_{im}^{+}\left( {\alpha_{m} + \beta_{m} - C} \right)}}},{v_{j}^{+} = {K_{jm}^{+}\left( {\alpha_{m} + \beta_{m} - C} \right)}},$

and the terms W_(constant) and W_(constant) ⁺ do not depend on α_(i), α_(j), β_(i) and β_(j). Due to the first linear constraint involving α's, we can write α_(i)=Δ−sα_(j). Similarly the second linear constraint involving α's and β's yields (α_(i)+β_(i)−C)=μ−(α_(j)+β_(j)−C).

Using these substitutions the objective function takes the form:

  W(α_(j), β_(j)) = W⁺(α_(j)) + W⁺(α_(j), β_(j)), where ${{W^{+}\left( \alpha_{j} \right)} = {{- {\frac{1}{2}\left\lbrack {{K_{ii}\left( {\Delta - {s\; \alpha_{j}}} \right)}^{2} + {K_{jj}\alpha_{j}^{2}} + {2{{sK}_{ij}\left( {\Delta - {s\; \alpha_{j}}} \right)}\alpha_{j}} + {2\left( {\Delta - {s\; \alpha_{j}}} \right)v_{i}} + {2\alpha_{j}v_{j}}} \right\rbrack}} + \Delta + {\left( {1 - s} \right)\alpha_{j}} + W_{constant}}},\mspace{20mu} {and}$ ${W^{+}\left( {\alpha_{j},\beta_{j}} \right)} = {{- {\frac{1}{2\gamma}\left\lbrack {{K_{ii}^{+}\left( {\mu - \alpha_{j} - \beta_{j} + C} \right)}^{2} + {{K_{jj}^{+}\left( {\alpha_{j} + \beta_{j} - C} \right)}^{2}2{K_{ij}^{+}\left( {\mu - \alpha_{j} - \beta_{j} + C} \right)}\left( {\alpha_{j} + \beta_{j} - C} \right)} + {2{v_{i}^{+}\left( {\mu - \alpha_{j} - \beta_{j} + C} \right)}} + {2{v_{j}^{+}\left( {\alpha_{j} + \beta_{j} - C} \right)}}} \right\rbrack}} + W_{constant}^{+}}$

Then, function W(α_(j),β_(j)) can be written as:

${W\left( {\alpha_{j},\beta_{j}} \right)} = {{- {\frac{1}{2}\left\lbrack {{K_{ii}\left( {\Delta - {s\; \alpha_{j}}} \right)}^{2} + {K_{jj}\alpha_{j}^{2}} + {2{{sK}_{ij}\left( {\Delta - {s\; \alpha_{j}}} \right)}\alpha_{j}} + {2\left( {\Delta - {s\; \alpha_{j}}} \right)v_{i}} + {2\alpha_{j}v_{j}}} \right\rbrack}} + \Delta + {\left( {1 - s} \right)\alpha_{j}} - {\frac{1}{2\gamma}\left\lbrack {{K_{jj}^{+}\left( {\alpha_{j} + \beta_{j} - C} \right)}^{2} + {K_{ii}^{+}\left( {{\mu - \alpha_{j} - \beta_{j} + C}} \right)}^{2} + {2{K_{ij}^{+}\left( {\mu - \alpha_{j} - \beta_{j} + C} \right)}\left( {\alpha_{j} + \beta_{j} - C} \right)} + {2{v_{i}^{+}\left( {\mu - \alpha_{j} - \beta_{j} + C} \right)}} + {2{v_{j}^{+}\left( {\alpha_{j} + \beta_{j} - C} \right)}}} \right\rbrack} + W_{constant}}$

The function W(α_(j),β_(j)) has zero derivatives on α_(j) and β_(j) for

$\quad\left\{ \begin{matrix} {\alpha_{j}^{+} = \frac{1 - s + {s\; {\Delta \left( {K_{ii} - K_{ij}} \right)}} + {sv}_{i} - v_{j}}{K_{ii} - {2K_{ij}} + K_{jj}}} \\ {\beta_{j}^{+} = {C - \alpha_{j}^{+} + \frac{{\mu \left( {K_{ii}^{+} - K_{ij}^{+}} \right)} + v_{i}^{+} - v_{j}^{+}}{K_{ii}^{+} - {2K_{ij}^{+}} + K_{jj}^{+}}}} \end{matrix} \right.$

Note that the extreme point (α_(j) ⁺,β_(j) ⁺) does not depend on γ. The new extreme point can be expressed in terms of old values of α_(j) and β_(j) by using the gradient of the objective function. Let G_(i) denote the gradient of W⁺( ) and g_(i) denote the gradient of W⁺( ) without the factor γ, i.e.,

$\begin{matrix} {G_{i} = {1 - {y_{i}{\sum\limits_{m = 1}^{}{y_{m}\alpha_{m}K_{im}}}}}} & {G_{j} = {1 - {y_{j}{\sum\limits_{m = 1}^{}{y_{m}\alpha_{m}K_{jm}}}}}} \\ {g_{i} = {- {\sum\limits_{m = 1}^{}{\left( {\alpha_{m} + \beta_{m} - C} \right)K_{im}^{+}}}}} & {g_{j} = {- {\sum\limits_{m = 1}^{}{\left( {\alpha_{m} + \beta_{m} - C} \right)K_{jm}^{+}}}}} \end{matrix}$

then we can rewrite ν_(i), ν_(j), ν_(i) ⁺ and ν_(j) ⁺ as:

ν_(i)=1−G _(i)−α_(i) K _(ii) −sα _(j) K _(ij),

ν_(j)=1−G _(j)−α_(j) K _(jj) −sα _(i) K _(ij),

ν_(i) ⁺ =−g _(i)−(α_(i)+β_(i) −C)K _(ii) ⁺−(α_(j)+β_(j) −C)K _(ij) ⁺

ν_(j) ⁺ =−g _(j)−(α_(j)+β_(j) −C)K _(jj) ⁺−(α_(i)+β_(i) −C)K _(ij) ⁺

So,

sν _(i)−ν_(j) =s−1−sG _(i) +G _(j)+α_(j)(K _(ii)−2K _(ij) +K _(jj))+sΔ(K _(ij) −K _(ii))

ν_(i) ⁺−ν_(j) ⁺ =g _(j) −g _(i)+(α_(j)+β_(j) −C)(K _(ii) ⁺−2K _(ij) ⁺ +K _(jj) ⁺)+μ(K _(ij) ⁺ −K _(ii) ⁺)

Note that the above expressions are computed using the old values of α_(j), and β_(j), in other words, the values at the beginning of the current iteration. Using the above expressions for sν_(i)−ν_(j) and ν_(i) ⁺−ν_(j) ⁺ we can represent α_(j) ⁺ and β_(j) ⁺ in terms their old values as follows:

$\quad\left\{ \begin{matrix} {\alpha_{j}^{+} = {\alpha_{j}^{old} + \frac{G_{j} - {sG}_{i}}{K_{ii} - {2K_{ij}} + K_{jj}}}} \\ {\beta_{j}^{+} = {\alpha_{j}^{old} + \beta_{j}^{old} - \alpha_{j}^{+} + \frac{g_{j} - g_{i}}{K_{ii}^{+} - {2K_{ij}^{+}} + K_{jj}^{+}}}} \end{matrix} \right.$

Now that we have calculated the extreme point (α_(j),β_(j)), to maximize the function W(α_(j),β_(j)) on the 2-dimensional space {α_(j),β_(j)}, we need to find the feasible domain D where the following four constraints (stemming from non-negativity of all variables α and β) of the problem hold:

$\quad\left\{ \begin{matrix} {\alpha_{j} \geq 0} \\ {\alpha_{i} = {{\Delta - {\alpha_{j}s}} \geq 0}} \\ {\beta_{j} \geq 0} \\ {\beta_{i} = {{\mu - \left( {\Delta - {\alpha_{j}s} - C} \right) - \left( {\alpha_{j} + \beta_{j} - C} \right)} \geq 0}} \end{matrix} \right.$

We consider two cases s=+1 and s=−1 separately.

Case 1: s=+1. In this case, the constraints describing the domain D have the form

$\quad\left\{ \begin{matrix} {0 \leq \alpha_{j} \leq \Delta} \\ {0 \leq \beta_{j} \leq {\mu - \Delta + {2{C.}}}} \end{matrix} \right.$

Observe that the domain D is non-empty, because Δ≧0 and μ−Δ+2C≧0. Indeed, since s=1, then Δ=α_(i)+α_(j)≧0. Also, β_(i)+β_(j)=μ−(α_(i)+α_(j))+2C=μ−Δ+2C≧0. The domain D is shown in FIG. 3.

If the inequalities

$\quad\left\{ \begin{matrix} {0 \leq \alpha_{j}^{+} \leq \Delta} \\ {0 \leq \beta_{j}^{+} \leq {\mu - \Delta + {2C}}} \end{matrix} \right.$

hold, then the extreme point (α_(j) ⁺,β_(j) ⁺) belongs to D (as shown in the upper part of FIG. 5), and it is the maximum point of the function W(α_(j),β_(j)). Otherwise, if these inequalities do not hold for (α_(j) ⁺,β_(j) ⁺), then the maximum point of the function W(α_(j),β_(j)) belongs to one of the four boundaries of D, as illustrated in the lower part of FIG. 5. We now consider each of the four boundaries of D separately and execute the following operations for each of them: 1) Restrict the function W(α_(j),β_(j)) on the corresponding boundary. The result would be a quadratic function of a single argument α_(j) or β_(j) (depending on whether the boundary is vertical or horizontal). 2) Maximize the restricted function W(α_(j),β_(j)) on the corresponding boundary. That would have to find the extreme point (by differentiation) and also calculating the function at the two ends of the segment (the ends of the segment are the corresponding vertices of D.

For the following cases, we need to consider the function W(α_(j),β_(j)) restricted to a horizontal or a vertical line. On the horizontal boundaries of the domain, β_(j) is constant, say β_(j)=b, reducing the objective function to W(α_(j),b)=W(α_(j)), while for the vertical boundaries, α_(j) is constant, say α_(j)=α, and the objective function reduces to W(α,β_(j))=W(α_(j)). On the horizontal line W(α_(j)) has a zero derivative for α_(j)|β_(j)=b (given below). Similarly, W(β_(j)) on the vertical line has a zero derivative for β_(j)|α_(j)=α expressed below:

$\left. \alpha_{j}^{+} \right|_{\beta_{j} = b} = {\alpha_{j}^{old} + \frac{g_{j} - g_{i} + {\left( {\beta_{j}^{old} - b} \right)\left( {K_{ii}^{+} - {2K_{jj}^{+}}} \right)} + {\gamma \left( {G_{j} - G_{i}} \right)}}{\left( {K_{ii}^{+} - {2K_{ij}^{+}} + K_{jj}^{+}} \right) + {\gamma \left( {K_{jj} - {2K_{ij}} + K_{ii}} \right)}}}$ $\left. \beta_{j}^{+} \right|_{\alpha_{j} = a} = {\beta_{j}^{old} + \alpha_{j}^{old} - a + \frac{g_{j} - g_{i}}{\left( {K_{ii}^{+} - {2K_{ij}^{+}} + K_{jj}^{+}} \right)}}$

Case 1.1: Lower boundary of D In this case, β_(j)=0 and the restriction of the function W(α_(j),β_(j)) on the lower boundary of D is a function of α_(j), where the ends of segments are determined by the coordinates

(α_(j)^(min) = 0, β_(j)^(min) = 0)  and  (α_(j)^(max) = Δ, β_(j)^(max) = 0).

The function W has zero derivative on α_(j) for α_(j) ^(1.1) that can be obtained by substituting s=1 and b=0 in α_(j) ⁺|β_(j)=b, i.e.,

$\alpha_{j}^{1.1} = {\alpha_{j}^{old} + \frac{g_{j} - g_{i} + {\beta_{j}^{old}\left( {K_{ii}^{+} - {2K_{ij}^{+}} + K_{jj}^{+}} \right)} + {\gamma \left( {G_{j} - G_{i}} \right)}}{\left( {K_{ii}^{+} - {2K_{ij}^{+}} + K_{jj}^{+}} \right) + {\gamma \left( {K_{jj} - {2K_{ij}} + K_{ii}} \right)}}}$

so the potential maximum point Z^(1.1) of the function W(α_(j),β_(j)) on the left boundary of D has the form Z^(1.1)={α_(j)α_(j) ^(1.1), β_(j)=0}. If Z^(1.1) belongs to the segment determined by the points

{α_(j)^(min) = 0, β_(j)^(min) = 0}  and  {α_(j)^(max) = Δ, β_(j)^(max) = 0},

we select M^(1.1)=W(Z^(1.1)) as the maximum value achievable for Case 1.1; otherwise we select

M^(1.1) = max {W(α_(j)^(min), β_(j)^(min)), W(α_(j)^(max), β_(j)^(max))}.

Case 1.2: Upper boundary of D. In this case β_(j)=μ−Δ+2C, and the restriction of the function W(α_(j),β_(j)) on the upper boundary of D is a function of α_(j), where the ends of segments are determined by the values

{α_(j)^(min) = 0, β_(j)^(min) = μ − Δ + 2C}  and  {α_(j)^(max) = Δ, β_(j)^(max) = μ − Δ + 2C}.

The function W has zero derivative on α_(j) for α_(j) ^(1.2) which can be obtained by substituting s=1 and b=μ−Δ+2C in α_(j) ⁺|β_(j)=b, i.e.,

$\alpha_{j}^{1.2} = {\alpha_{j}^{old} + \frac{g_{j} - g_{i} + {\left( {\beta_{j}^{old} - b} \right)\left( {K_{ii}^{+} - {2K_{ij}^{+}} + K_{jj}^{+}} \right)} + {\gamma \left( {G_{j} - G_{i}} \right)}}{\left( {K_{ii}^{+} - {2K_{ij}^{+}} + K_{jj}^{+}} \right) + {\gamma \left( {K_{jj} - {2K_{ij}} + K_{ii}} \right)}}}$

so the potential maximum point Z^(1.2) of the function W(α_(j),β_(j)) on the left boundary of D has the form Z^(1.2)={α_(j)=α_(i) ^(1.2), β_(j)=μ−Δ+2C}. If Z^(1.2) belongs to the segment determined by the points

{α_(j)^(min) = 0, β_(j)^(min) = μ − Δ + 2C}  and  {α_(j)^(max) = Δ, β_(j)^(max) = μ − Δ + 2C},

we select M^(1.2)=W(Z^(1.2)) as the maximum value achievable for Case 1.2; otherwise we select

M^(1.2) = max {W(α_(j)^(min), β_(j)^(min)), W(α_(j)^(max), β_(j)^(max))}.

Case 1.3: Left boundary of D. In this case, α_(j)=0 and the restriction of the function W(α_(j),β_(j)) on the upper boundary of D is a function of β_(j), where the ends of the segment are determined by the values

{α_(i)^(min) = 0, β_(i)^(min) = 0}  and  {α_(i)^(max) = 0, β_(i)^(max) = μ − Δ + 2C}.

The function W has zero derivative on β_(j) for β_(j) ^(1.3) which can be obtained by substituting s=1 and α=0 in β_(j) ⁺|α_(j)=α, i.e.,

$\beta_{j}^{1.3} = {\beta_{j}^{old} + \alpha_{j}^{old} + \frac{g_{j} - g_{i}}{\left( {K_{ii}^{+} - {2K_{ij}^{+}} + K_{jj}^{+}} \right)}}$

so the potential maximum point Z^(1.3) of the function W(α_(j),β_(j)) on the left boundary of D has the form Z^(1.3)={α_(j)=0, β=β_(j) ^(1.3)}. If Z^(1.3) belongs to the segment determined by the points

{α_(j)^(min) = 0, β_(j)^(min) = 0}  and  {α_(i)^(max) = 0, β_(i)^(max) = μ − Δ + 2C},

we select M^(1.3)=W(Z^(1.3)) as the maximum value achievable for Case 1.3; otherwise we select

M^(1.3) = max {W(α_(j)^(min), β_(j)^(min)), W(α_(j)^(max), β_(j)^(max))}.

Case 1.4: Right boundary of D In this case, α_(j)=Δ and the restriction of the function W(α_(j),β_(j)) on the upper boundary of D is a function of β_(j), where the ends of segments are determined by the values

{α_(i)^(min) = Δ, β_(i)^(min) = 0}  and  {α_(j)^(max) = Δ, β_(j)^(max) = μ − Δ + 2C}.

The function W has zero derivative on β_(j) for β_(j) ^(1.4) which can be obtained by substituting s=1 and α=Δ in β_(j) ⁺|α_(j)=α, i.e.,

$\beta_{j}^{1.4} = {\beta_{j}^{old} + \alpha_{j}^{old} - \Delta + \frac{g_{j} - g_{i}}{\left( {K_{ii}^{+} - {2K_{ij}^{+}} + K_{jj}^{+}} \right)}}$

so the potential maximum point Z^(1.4) of the function W(α_(j),β_(j)) on the left boundary of D has the form Z^(1.4)={α_(j)=Δ, β=β_(j) ^(1.4)}. If Z^(1.4) belongs to the segment determined by the points

{α_(i)^(min) = Δ, β_(i)^(min) = 0}  and  {α_(j)^(max) = Δ, β_(j)^(max) = μ − Δ + 2C},

we select M^(1.4)=W(Z^(1.4)) as the maximum value achievable for Case 1.4; otherwise we select

M^(1.4) = max {W(α_(j)^(min), β_(j)^(min)), W(α_(j)^(max), β_(j)^(max))}.

After all four cases (boundaries) are analyzed in this manner, we compare the four values M^(1.1), M^(1.2), M^(1.3), M^(1.4), and select the point {α_(j) ⁺,β_(j) ⁺} corresponding to the maximum one.

Case 2: s=−1. In this case, the constraints describing the domain D have the form

$\quad\left\{ \begin{matrix} {{\alpha_{j} \geq L} = {\max \left( {0,{- \Delta}} \right)}} \\ {\beta_{j} \geq 0} \\ {{{2\alpha_{j}} + \beta_{j}} \leq {\mu - \Delta + {2C}}} \end{matrix} \right.$

We denote H=(μ−Δ+2C)/2; then L≦α_(j)≦H and 0≦β_(j)≦2(H−L). Here we assume that H≧L; if this condition does not hold, the method stops. The domain D is shown in FIG. 4.

If the inequalities

$\quad\left\{ \begin{matrix} {{\alpha_{j}^{+} \geq L} = {\max \left( {0,{- \Delta}} \right)}} \\ {\beta_{j}^{+} \geq 0} \\ {{{2\alpha_{j}^{+}} + \beta_{j}^{+}} \leq {\mu - \Delta + {2C}}} \end{matrix} \right.$

hold, then the extreme point (α_(j) ⁺,β_(j) ⁺) belongs to D (as shown in the upper part of FIG. 4, and it is the maximum point Z of the function W(α_(j),β_(j)). Otherwise, if these inequalities do not hold for (α_(j) ⁺,β_(j) ⁺), then the maximum point Z of the function W(α_(j),β_(j)) belongs to one of three boundaries, as illustrated in the lower part of FIG. 5. We now consider each of the three boundaries separately and execute the following operations for each of them: 1) Restrict the function W(α_(j),β_(j)) on the corresponding boundary. The result would be a quadratic function of a single argument (depending on whether the boundary is vertical, horizontal or sloped). 2) Maximize the restricted function W(α_(j),β_(j)) on the corresponding boundary. That would need finding the extreme point (by differentiation) and also calculating the function in two ends of the segment (the ends of the segment are the corresponding vertices of D.

Case 2.1: Lower boundary of D. In this case, β_(j)=0 and the restriction of the function W(α_(j),β_(j)) on the lower boundary of D is a function of α_(j), where the ends of segments are determined by the values

α_(j)^(min) = L  and  α_(j)^(max) = H.

The function W has zero derivative on α_(j) for α_(j) ^(2.1) that can be obtained by substituting s=1 and b=0 in α_(j) ⁺|β_(j)=b i.e.,

$\alpha_{j}^{2.1} = \frac{g_{j} - g_{i} + {\beta_{j}^{old}\left( {K_{ii}^{+} - {2K_{ij}^{+}} + K_{jj}^{+}} \right)} + {\gamma \left( {G_{j} + G_{i}} \right)}}{\left( {K_{ii}^{+} - {2K_{ij}^{+}} + K_{jj}^{+}} \right) + {\gamma \left( {K_{jj} - {2K_{ij}} + K_{ii}} \right)}}$

so the potential maximum point Z^(2.1) of the function W(α_(j),β_(j)) on the lower boundary of D has the form Z^(2.1)={α_(j)α_(j) ^(2.1), β_(j)=0}. If Z^(2.1) belongs to the segment determined by the points

α_(i)^(min) = L  and  α_(i)^(max) = H,

we select M^(2.1)=W(Z^(2.1)) as the maximum value achievable for Case 2.1; otherwise we select

M^(2.1) = max {W(α_(j)^(min), β_(j)^(min)), W(α_(j)^(max), β_(j)^(max))}.

Case 2.2: Vertical boundary of D. In this case, α_(j)=L and the restriction of the function W(α_(j),β_(j)) on the vertical boundary of D is a function of β_(j), where the ends of segments are determined by the values

β_(j)^(min) = 0  and  β_(j)^(max) = 2H − 2L.

The function W has zero derivative on β_(j) for β_(j) ^(2.2) which can be obtained by substituting s=1 and α=L in β_(j) ⁺|α_(j)=α, i.e.,

$\beta_{j}^{2.2} = {\beta_{j}^{old} + \alpha_{j}^{old} - L + \frac{g_{j} - g_{i}}{K_{ii}^{+} - {2K_{ij}^{+}} + K_{jj}^{+}}}$

so the potential maximum point Z^(2.2) of the function W(α_(j),β_(j)) on the lower boundary of D has the form Z^(2.2)={α_(j)=L, β_(j)=β_(j) ^(2.2)}. If Z^(2.2) belongs to the segment determined by the point

β_(j)^(min) = 0  and  β_(j)^(max) = 2(H − L),

we select M^(2.2)=W(Z^(2.2)) as the maximum value achievable for Case 2.2; otherwise we select

M^(2.2) = max {W(α_(j)^(min), β_(j)^(min)), W(α_(j)^(max), β_(j)^(max))}.

Case 2.3: Slant boundary of D. In this case, β_(j)=2H−2α_(j) and the restriction of the function W(α_(j),β_(j)) on the upper boundary of D is a function of α_(j), where the ends of segments are determined by the values

α_(j)^(min) = L  and  α_(i)^(max) = H,

The function W has zero derivative on α_(j) for

$\alpha_{j}^{2.3} = {\alpha_{j}^{old} + \frac{{\gamma \left( {G_{i} + G_{j}} \right)} + {\beta_{i}^{old}\left( {K_{ii}^{+} - {2K_{ij}^{+}} + K_{ii}^{+}} \right)} + g_{i} - g_{j}}{{\gamma \left( {K_{ii} - {2K_{ij}} + K_{jj}} \right)} + \left( {K_{ii}^{+} - {2K_{ij}^{+}} + K_{jj}^{+}} \right)}}$

so the potential maximum point Z^(2.3) of the function W(α_(j),β_(j)) on the lower boundary of D has the form Z^(2.2)={α_(j)=α_(j) ^(2.3), β_(j)=2H−2α_(j) ^(2.3)}. If Z^(2.3) belongs to the segment determined by the point

α_(j)^(min) = L  and  α_(i)^(max) = H,

we select M^(2.3)=W(Z^(2.3)) as the maximum value achievable for Case 2.3; otherwise we select

M^(2.3) = max {W(α_(j)^(min), β_(j)^(min)), W(α_(j)^(max), β_(j)^(max))}.

After all three cases (triangle boundaries) are analyzed in this manner, we compare the three values M^(2.1), M^(2.2), M^(2.3), and select the point {α_(j) ⁺,β_(j) ⁺} corresponding to the maximum one.

Special Case of Identity Correction Space Kernel: Consider the case of an identity correction space kernel K⁺, where K⁺({right arrow over (x)}_(i) ⁺,{right arrow over (x)}_(j) ⁺)=1 for all i=j and K⁺({right arrow over (x)}_(i) ⁺,{right arrow over (x)}_(j) ⁺)=0 otherwise. In this case, the optimization problem has a simpler structure than in the general case, and can be solved by a more simple version of gSMO. The problem has the following form. Maximize:

${W\left( \overset{\rightarrow}{\alpha} \right)} = {{\sum\limits_{i = 1}^{l}\alpha_{i}} - {\frac{1}{2}{\sum\limits_{i = 1}^{l}{\sum\limits_{j = 1}^{l}{y_{i}y_{j}{K\left( {{\overset{\rightarrow}{x}}_{i},{\overset{\rightarrow}{x}}_{j}} \right)}\alpha_{i}\alpha_{j}}}}} - {\frac{1}{2\gamma}{\sum\limits_{i = 1}^{l}\left( {\alpha_{i} + \beta_{i} - C} \right)^{2}}}}$

under the constraints

$\quad\left\{ \begin{matrix} {{y_{i} = {\pm 1}},} \\ {{{\sum\limits_{i = 1}^{l}\; {y_{i}\alpha_{i}}} = 0},} \\ {{{0 \leq {\alpha_{i}\mspace{14mu} {for}\mspace{14mu} {all}\mspace{14mu} i}} = 1},\ldots \mspace{11mu},l,} \\ {{{0 \leq {\beta_{i}\mspace{14mu} {for}\mspace{14mu} {all}\mspace{14mu} i}} = 1},\ldots \mspace{11mu},{l.}} \end{matrix} \right.$

Select two of Lagrange multipliers α_(i) and α_(j). Then the function W has the form W(α_(i),α_(j))=W⁺(α_(i),α_(j))+W⁺(α_(i),α_(j)), where

${W^{+}\left( {\alpha_{i},\alpha_{j}} \right)} = {\alpha_{i} + \alpha_{j} - {\frac{1}{2}\left( {{K_{ii}\alpha_{i}^{2}} + {K_{jj}\alpha_{j}^{2}} + {2{sK}_{ij}\alpha_{i}\alpha_{j}} + {\alpha_{i}v_{i}} + {\alpha_{j}v_{j}}} \right)} + W_{constant}}$

constant, is the same function as in Platt's SMO algorithm and

${W^{+}\left( {\alpha_{i},\alpha_{j}} \right)} = {{- \frac{1}{2\gamma}}\left( {\left( {\alpha_{i} + \beta_{i} - C} \right)^{2} + \left( {\alpha_{j} + \beta_{j} - C} \right)^{2}} \right)}$

is the additional function corresponding to the SVM+ case.

Here,

${s = {{y_{i}y_{j}} = {\pm 1}}},{K_{mn} = {K\left( {{\overset{\_}{x}}_{m},{\overset{\_}{x}}_{n}} \right)}},{v_{i} = {y_{i}{\sum\limits_{{m \neq i},j}{y_{m}K_{im}\alpha_{m}}}}},{v_{j} = {y_{j}{\sum\limits_{{m \neq i},j}{y_{m}K_{jm}\alpha_{m}}}}}$

and W_(constant) are the terms that do not depend on α_(i),α_(j). Since α_(i)=Δ−sα_(j), the function W has the form W(α_(j))=W⁺(α_(j))+W⁺(α_(j)), where

${{W\left( \alpha_{j} \right)} = {{{- \frac{1}{2}}\left( {{K_{ii}\left( {\Delta - {s\; \alpha_{j}}} \right)}^{2} + {K_{jj}\left( \alpha_{j} \right)}^{2} + {2{sK}_{ij}{\alpha_{j}\left( {\Delta - {s\; \alpha_{j}}} \right)}} + {\left( {\Delta - {s\; \alpha_{j}}} \right)v_{i}} + {\alpha_{j}v_{j}}} \right)} + \Delta + {\left( {1 - s} \right)\alpha_{j}} + W_{constant}}},{{W^{+}\left( \alpha_{j} \right)} = {{- \frac{1}{2\gamma}}{\left( {\left( {\Delta - {s\; \alpha_{j}} + \beta_{i} - C} \right)^{2} + \left( {\alpha_{j} + \beta_{j} - C} \right)^{2}} \right).}}}$

We now seek for the maximum α_(j) ^(new) of the function W(α_(j)) on the segment L≦α_(j)≦H, where boundaries L and H are defined jointly from the inequalities of the problem and the sign of s. We calculate the extreme point α_(j) ⁺ of W(α_(j)) and the boundaries L and H for the following four different cases separately:

Case 1: α_(i)<C; α_(j)<C.

Case 2: α_(i)≧C; α_(j)≧C.

Case 3: α_(i)<C; α_(j)≧C.

Case 4: α_(i)≧C; α_(j)<C.

Case 1: α_(i)<C; α_(j)<C In this case, the non-positive function W+(α_(i),α_(j)) reaches its maximum 0 for β_(i)=C−α_(i) and β_(j)=C−α_(j). Then W(α_(i),α_(j))=W⁺(α_(i),α_(j)). The function W has zero derivative on α_(j) for

$\alpha_{j}^{+} = {\frac{1 - s + {2s\; {\Delta \left( {K_{ii} - K_{ij}} \right)}} + {sv}_{i} - v_{j}}{2\left( {K_{jj} - {2K_{ij}} + K_{ii}} \right)}.}$

Then, depending on s, as illustrated in FIG. 5, there are the following lower (L) and higher (H) boundaries for:

if s=+1 then L=max(0,Δ−C), H=min(C,Δ);

if s=−1 then L=max(0,−Δ), H=inn(C,C−Δ).

Case 2: α_(i)≧C; α_(j)≧C. In this case, the function W+(α_(i),α_(j)) reaches its maximum for β_(i)=β_(j)=0. Then

${W\left( {\alpha_{i},\alpha_{j}} \right)} = {{W^{+}\left( {\alpha_{i},\alpha_{j}} \right)} - {\frac{1}{2\gamma}{\left( {\left( {\alpha_{i} - C} \right)^{2} + \left( {\alpha_{j} - C} \right)^{2}} \right).}}}$

Therefore,

${{W\left( {\alpha_{i},\alpha_{j}} \right)} = {\alpha_{i} + \alpha_{j} - {\frac{1}{2}\left( {{K_{ii}^{++}\alpha_{i}^{2}} + {K_{jj}^{++}\alpha_{j}^{2}} + {2{sK}_{ij}^{++}\alpha_{i}\alpha_{j}} + {\alpha_{i}v_{i}^{++}} + {\alpha_{j}v_{j}^{++}}} \right)} + W_{constant}}},{where}$ ${K_{ii}^{++} = {K_{ii} + \frac{1}{2\gamma}}},{K_{jj}^{++} = {K_{jj} + \frac{1}{2\gamma}}},{K_{ij}^{++} = K_{ij}},{v_{i}^{++} = {v_{i} - \frac{C}{\gamma}}},{v_{j}^{++} = {v_{j} - {\frac{C}{\gamma}.}}}$

Denote y_(i)α_(i)+y_(j)α_(j)=δ and multiply this equality by y_(i): α_(i)+α_(j)s=Δ where Δ=δy_(i) and s=±1. The function W has zero derivative on α_(j) for

$\alpha_{j}^{+} = {\frac{1 - s + {2s\; {\Delta \left( {K_{ii}^{++} - K_{ij}^{++}} \right)}} + {sv}_{i}^{++} - v_{j}^{++}}{2\left( {K_{jj}^{++} - {2K_{ij}^{++}} + K_{ii}^{++}} \right)}.}$

Then, depending on s, as illustrated in FIG. 6, there are the following lower (L) and higher (H) boundaries for α_(j):

if s=+1 then L=C, H=Δ−C;

if s=−1 then L=C+max(0,−Δ), H=+∞.

Case 3: α_(i)<C; α_(j)≧C. In this case, the function W⁺(α_(i),α_(j)) reaches its maximum for β_(i)=C−α_(i) and β_(j)=0. Then,

${W\left( {\alpha_{i},\alpha_{j}} \right)} = {{W^{+}\left( {\alpha_{i},\alpha_{j}} \right)} - {\frac{1}{2\gamma}{\left( {\alpha_{j} - C} \right)^{2}.}}}$

Therefore,

${{W\left( {\alpha_{i},\alpha_{j}} \right)} = {\alpha_{i} + \alpha_{j} - {\frac{1}{2}\left( {{K_{ii}^{++}\alpha_{i}^{2}} + {K_{jj}^{++}\alpha_{j}^{2}} + {2{sK}_{ij}^{++}\alpha_{i}\alpha_{j}} + {\alpha_{i}v_{i}^{++}} + {\alpha_{j}v_{j}^{++}}} \right)} + W_{constant}}},{where}$ ${K_{ii}^{++} = K_{ii}},{K_{jj}^{++} = {K_{jj} + \frac{1}{2\gamma}}},{K_{ij}^{++} = K_{ij}},{v_{i}^{++} = v_{i}},{v_{j}^{++} = {v_{j} - {\frac{C}{\gamma}.}}}$

Denote y_(i)α_(i)+y_(j)α_(j)=δ and multiply this equality by y_(i): α_(i)+α_(j)s=Δ where Δ=δy_(i) and s=±1. The function W has zero derivative on α_(j) for

$\alpha_{j}^{+} = {\frac{1 - s + {2s\; {\Delta \left( {K_{ii}^{++} - K_{ij}^{++}} \right)}} + {sv}_{i}^{++} - v_{j}^{++}}{2\left( {K_{jj}^{++} - {2K_{ij}^{++}} + K_{ii}^{++}} \right)}.}$

Then, depending on s, as illustrated in FIG. 7, there are the following lower (L) and higher (H) boundaries for α_(j):

if s=+1 then L=max(C,Δ−C), H=Δ;

if s=−1 then L=C+max(0,−Δ−C), H=−ΔC.

Case 4: α_(i)≧C; α_(j)<C. In this case, the function W⁺(α_(i),α_(j)) reaches its maximum for β_(j)=C−α_(j) and β_(i)=0. Then,

${W\left( {\alpha_{i},\alpha_{j}} \right)} = {{W^{+}\left( {\alpha_{i},\alpha_{j}} \right)} - {\frac{1}{2\gamma}{\left( {\alpha_{i} - C} \right)^{2}.}}}$

Therefore,

${{W\left( {\alpha_{i},\alpha_{j}} \right)} = {\alpha_{i} + \alpha_{j} - {\frac{1}{2}\left( {{K_{ii}^{++}\alpha_{i}^{2}} + {K_{jj}^{++}\alpha_{j}^{2}} + {2{sK}_{ij}^{++}\alpha_{i}\alpha_{j}} + {\alpha_{i}v_{i}^{++}} + {\alpha_{j}v_{j}^{++}}} \right)} + W_{constant}}},{where}$ ${K_{ii}^{++} = {K_{ii} + \frac{1}{2\gamma}}},{K_{jj}^{++} = K_{jj}},{K_{ij}^{++} = K_{ij}},{v_{i}^{++} = {v_{i} - \frac{C}{\gamma}}},{v_{j}^{++} = {v_{j}.}}$

Denote γ_(i)α_(i)+γ_(j)α_(j)=δ and multiply this equality by y_(i): α_(i)+α_(j)s=Δ, where Δ=δy_(i) and s=±1. The function TV has zero derivative on α_(j) for

$\alpha_{j}^{+} = {\frac{1 - s + {2s\; {\Delta \left( {K_{ii}^{++} - K_{ij}^{++}} \right)}} + {sv}_{i}^{++} - v_{j}^{++}}{2\left( {K_{jj}^{++} - {2K_{ij}^{++}} + K_{ii}^{++}} \right)}.}$

Then, depending on s, as illustrated in FIG. 8, there are the following lower (L) and higher (H) boundaries for α_(j):

if s=+1 then L=0, H=min(Δ−C,C);

if s=−1 then L=max(0,2C−Δ), H=C.

Now that we computed α_(j) ⁺, L, and H for each of the four cases, we compute α_(j) ^(new) in the following way:

Case A: If L≦α_(j) ⁺≦H, then we select the maximum of the three values W₀=W(L), W₊=W(α_(j) ⁺), W₁=W(H), and then select the corresponding values of α_(j) ^(new): α_(j) ^(new)=L_(i)α_(j) ^(new)=α_(j) ⁺ or α_(j) ^(new)=H.

Case B: If L≦α_(j) ⁺≦H is not true, then we select the maximum of the two values W₀=W(L), W₁=W(H) and then select the corresponding values of α_(j) ^(new): α_(j) ^(new)=L, or α_(j) ^(new)=H.

After that we compute α_(i) ^(new) as α_(i) ^(new)=Δ−α_(j) ^(new)s, which completes the step of computing two new Lagrange multipliers α_(j) ^(new) and α_(i) ^(new).

gSMO Complexity: As illustrated, generalized SMO (gSMO), is faster than generic quadratic optimization since it uses a closed-form computation. gSMO is thus applicable to SVM+ problems handling large samples in large-dimensional spaces. gSMO is specially designed for SVM+, whereas SMO is applicable for SVM. While SVM+ has twice as many variables as SVM, gSMO employs the same order of magnitude of computations of W as SMO. Indeed, SMO computes W once and then compares the extreme point with L and H; gSMO may need to compute W in two extreme points (corresponding to vertical and horizontal directions) and in three vertices of D).

The SVM+ approach provides a basis for better generalization (lower VC-dimension) and is a potential new setting of learning which includes a real teacher (not just an oracle). We have showed that SVM+ can perform better than SVM in terms of its error rate. We introduced a specialized optimization technique, SVM+, which appears to be as efficient as standard techniques for SVM. Additional optimization of gSMO (covering speed-up of individual steps, mechanisms for working set selection (including more than two working vectors), and parameters selection) is also contemplated. The realization of gSMO within the framework of standard SVM libraries is expected to bring more data for further improvement of the method.

Referring to FIG. 9, a block/flow diagram showing a system/method for training a support vector machine plus (SVM+) using sequential maximizations illustratively shown. In block 202, a working set of indexes is selected for a target function to create a quadratic function depending on a number of variables. The working set is selected as the pair of examples whose Lagrange multipliers maximally violate the optimality conditions (e.g., Kharush-Kuhn-Tucker conditions). In one embodiment, selecting the working set of indexes includes selecting a pair of indexes and the number of variables is four.

In block 206, the number of variables is reduced to two variables in the quadratic function using linear constraints. In block 208, an extreme point is computed for the quadratic function in closed form. This may include computing zero derivatives for each of the two variables to determine the extreme point.

In block 212, a two-dimensional set is defined where the indexes determine whether a data point is in the two-dimensional set or not. The two-dimensional set may form/define a rectangle, a triangle or other the two-dimensional shape.

In block 216, a determination of whether the extreme point belongs to the two-dimensional set is made. If the extreme point belongs to the two-dimensional set, the extreme point defines a maximum and the extreme point defines a new set of parameters for a next iteration in block 218. The new set of parameters may include Lagrange multipliers.

Otherwise, the quadratic function is further restricted on at least one boundary of the two-dimensional set to create a one-dimensional quadratic function in block 230. This may include analyzing boundaries of the two-dimensional set in block 220 and selecting a maximum based upon a comparison of a result from each boundary in block 222.

The steps are preferably repeated until the maximum is determined in block 232. In block 234, the maximum may be employed as a determination of a maximum distance to a hyperplane.

Having described preferred embodiments of a system and method for generalized sequential minimal optimization for svm+ computations (which are intended to be illustrative and not limiting), it is noted that modifications and variations can be made by persons skilled in the art in light of the above teachings. It is therefore to be understood that changes may be made in the particular embodiments disclosed which are within the scope and spirit of the invention as outlined by the appended claims. Having thus described aspects of the invention, with the details and particularity required by the patent laws, what is claimed and desired protected by Letters Patent is set forth in the appended claims. 

1. A method for training a support vector machine plus (SVM+) using sequential maximization, comprising: selecting a working set of two indexes for a target function to create a quadratic function depending on a number of variables; reducing the number of variables to two variables in the quadratic function using linear constraints; computing an extreme point for the quadratic function in closed form; defining a two-dimensional set where the indexes determine whether a data point is in the two-dimensional set or not; determining whether the extreme point belongs to the two-dimensional set wherein: if the extreme point belongs to the two-dimensional set, the extreme point defines a maximum and the extreme point defines a new set of parameters for a next iteration, and otherwise, restricting the quadratic function on at least one boundary of the two-dimensional set to create a one-dimensional quadratic function; and repeating the steps until the maximum is determined.
 2. The method as recited in claim 1, wherein selecting a working set of indexes includes selecting a pair of indexes and the number of variables is four.
 3. The method as recited in claim 1, wherein computing an extreme point for the quadratic function in closed form includes computing zero derivatives for each of the two variables.
 4. The method as recited in claim 1, wherein defining a two-dimensional set includes defining one of a rectangle and a triangle for the two-dimensional set.
 5. The method as recited in claim 1, wherein the new set of parameters include Lagrange multipliers which maximally violate optimality conditions.
 6. The method as recited in claim 1, wherein determining whether the extreme point belongs to the two-dimensional set further comprises: determining whether the extreme point is within the two-dimensional set by analyzing boundaries of the two-dimensional set; and selecting a maximum based upon a comparison of a result from each boundary.
 7. The method as recited in claim 1, wherein the maximum is employed as a determination of a maximum distance to a hyperplane.
 8. A computer readable medium comprising a computer readable program for training a support vector machine plus (SVM+) using sequential maximization, wherein the computer readable program when executed on a computer causes the computer to perform the steps of: selecting a working set of indexes for a target function to create a quadratic function depending on a number of variables; reducing the number of variables to two variables in the quadratic function using linear constraints; computing an extreme point for the quadratic function in closed form; defining a two-dimensional set where the indexes determine whether a data point is in the two-dimensional set or not; determining whether the extreme point belongs to the two-dimensional set wherein: if the extreme point belongs to the two-dimensional set, the extreme point defines a maximum and the extreme point defines a new set of parameters, otherwise, restricting the quadratic function on at least one boundary of the two-dimensional set to create a one-dimensional quadratic function, and repeating the steps of computing until the maximum is determined.
 9. The method as recited in claim 8, wherein selecting a working set of indexes includes electing a pair of indexes and the number of variable is four.
 10. The method as recited in claim 8, wherein computing an extreme point for the quadratic function in closed form includes computing zero derivatives for each of the two variables.
 11. The method as recited in claim 8, wherein defining a two-dimensional set includes defining one of a rectangle and a triangle for the two-dimensional set.
 12. The method as recited in claim 8, wherein the new set of parameters include Lagrange multipliers.
 13. The method as recited in claim 8, wherein determining whether the extreme point belongs to the two-dimensional set further comprises: determining whether the extreme point is within the two-dimensional set by analyzing boundaries of the two-dimensional set; and selecting a maximum based upon a comparison of a result from each boundary.
 14. The method as recited in claim 8, wherein the maximum is employed as a determination of a maximum distance to a hyperplane. 